Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Dockerfile for containerizing #242

Draft
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

georgemjohnson11
Copy link

@georgemjohnson11 georgemjohnson11 commented Sep 7, 2022

Update README.md to include installation, building, and execution instructions
Explain briefly x11 driver requirements

What? Why?

Add the ability to run a containerized application for portability and reusability of application

Changes proposed in this pull request:

  • Add the ability to run a containerized application for portability and reusability of application
  • Update documentation README appropriately

Checks

  • [X ] Updated documentation.
  • [X ] Follows 7 rules of great commit messages. For most PRs a single commit should suffice, in some cases multiple topical commits can be useful. During review it is ok to see tiny commits (e.g. Fix reviewer comments), but right before the code gets merged to master or rc branch, any such commits should be squashed since they are useless to the other developers. Definitely avoid merge commits, use rebase instead.
  • [X ] Follows the Google Style Guide.

Any screenshots or GIFs?

Issue Number: #217

Update README.md to include installation,
building, and execution instructions
Explain briefly x11 driver requirements
Windows, can install [Cygwin](https://x.cygwin.com/) with additional configuraiton [here](https://www.kombitz.com/2020/01/31/how-to-configure-cygwin-x-for-remote-connection/)
A restart may be needed after installation, but a test container can be ran via:
```bash
docker run -p 1212:1212 -v /tmp/.X11-unix:/tmp/.X11-unix -e DISPLAY=$DISPLAY:0 nonasoftware/evolver-electron:latest
Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This can be changed, but just wanted a registry to store the image. I also have some Github Actions scripts I can add in to auto build and upload on PRs, manually, and/or on commit to master

COPY . .
RUN yarn --network-timeout 100000

EXPOSE 1212
Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Might need to expose more ports to allow communication like 8081 or the environmental variable ${PORT} could be handled with the ARG/ENV Dockerfile annotations

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think it should only need a single exposed port to talk to the server on the RPi. The DPU/calibrations scripts that get kicked off via the GUI communicate with the RPi through the same port (<evolver_ip>:8081 by default). The GUI also needs to be able to access the file system of the machine its running on and any mounted drives.

Locations of python scripts being run:
https://github.com/FYNCH-BIO/evolver-electron/blob/master/app/main.dev.js#L85
https://github.com/FYNCH-BIO/evolver-electron/blob/master/app/main.dev.js#L118

And the relevant DPU scripts which are run:
https://github.com/FYNCH-BIO/dpu/blob/master/experiment/template/eVOLVER.py
https://github.com/FYNCH-BIO/dpu/blob/master/calibration/calibrate.py

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants